package com.zrrd.io.service;

import com.zrrd.io.pojo.User;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
 * @author WanJl
 * @version 1.0
 * @title UserServiceImpl
 * @description 使用字符流完成用户登录和注册功能。
 * @create 2023/10/14 17:16
 */
public class UserServiceImpl implements UserService{
    /**
     * 用户注册的方法
     *
     * @param user 用户
     * @return
     */
    @Override
    public boolean register(User user) throws IOException {
        //创建一个文件流（可以是字节流也可以是字符流）
        FileWriter writer = new FileWriter("D:/" + user.getName() + ".txt");
        //写入姓名
        writer.write("name="+user.getName());
        //写入用户名
        writer.write("username="+user.getUsername());
        //写入密码
        writer.write("password="+user.getPassword());

        writer.close();
        return true;
    }

    /**
     * 用户登录的方法
     *
     * @param username 用户名
     * @param password 密码
     * @return
     */
    @Override
    public boolean login(String username, String password) throws IOException {
        //创建输入流
        FileReader reader = new FileReader("D:/张三.txt");
        //读取文件
        char[] chars=new char[1024];
        int length=0;
        String s=null;
        while ((length=reader.read(chars))!=-1){
            s=new String(chars,0,length);
        }
        //判断
        if (s.indexOf(username)==-1){
            System.out.println("用户名不匹配");
            return false;
        }
        if (s.indexOf(password)==-1){
            System.out.println("密码错误");
            return false;
        }
        return true;
    }

    public static void main(String[] args) throws IOException {
        //--父类的引用指向子类的对象，多态
        UserService userService = new UserServiceImpl();
       // User user = new User("zhangsan","123456","张三");
        //boolean register = userService.register(user);

        boolean flag = userService.login("zhangsan", "1234156");
        System.out.println(flag);
    }
}
